<?php

/**
 * campana form.
 *
 * @package    plagas
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class campanaForm extends BasecampanaForm
{
  public function configure()
  {
        $widthFechas = '60px';
        // widgets
        $this->widgetSchema['id'] = new sfWidgetFormInputHidden;
        $this->widgetSchema['lote_id'] = new sfWidgetFormDoctrineDependentSelect(array(
                'model'     => 'lote',
                'depends'   => 'establecimiento_id',
                'add_empty' => 'Seleccione un lote',
                'ref_method'=> 'getEstablecimientoId',));
        $this->widgetSchema['variedad_id'] = new sfWidgetFormDoctrineDependentSelect(array(
                'model'     => 'variedad',
                'depends'   => 'cultivo_id',
                'add_empty' => 'Seleccione una variedad',
                'ref_method'   => 'getCultivoId'));
        $this->widgetSchema['sistemasiembra_id'] = new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('sistemasiembra'), 'add_empty' => false));
        $this->widgetSchema['fecha_siembra'] = new sfWidgetFormJQueryDate(array(
            'image'    => '/images/icons/calendar_view_month.gif',
            'culture'  => 'es'));
        $this->widgetSchema['distanciasiembra_id'] = new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('distanciasiembra'), 'add_empty' => false));
        $this->widgetSchema['obs'] = new sfWidgetFormTextarea();

        $this->widgetSchema['fecha_siembra']->setAttribute('style', 'width:'.$widthFechas);
        $this->widgetSchema['distanciasiembra_id']->setLabel('Distancia de siembra');
        $this->widgetSchema['obs']->setLabel('Observaciones');
        $this->widgetSchema->moveField('sistemasiembra_id', 'after', 'fecha_siembra');

        //validators
        $this->validatorSchema['id'] = new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false));
        $this->validatorSchema['lote_id'] = new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('lote')));
        $this->validatorSchema['variedad_id'] = new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('variedad')));
        $this->validatorSchema['sistemasiembra_id'] = new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('sistemasiembra')));
        $this->validatorSchema['fecha_siembra'] = new sfValidatorDateTime();
        $this->validatorSchema['distanciasiembra_id'] = new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('distanciasiembra')));
        $this->validatorSchema['obs'] = new sfValidatorString(array('max_length' => 200, 'required' => false));

        if ($this->getObject()->isNew())
        {
          $this->widgetSchema['establecimiento_id'] = new sfWidgetFormDoctrineChoice(array(
                'model'     => 'establecimiento',
                'add_empty' => 'Seleccione un establecimiento',
                'table_method' => 'getEstablecimientos',
                ));
          $this->widgetSchema['cultivo_id'] = new sfWidgetFormDoctrineChoice(array(
                'model'     => 'cultivo',
                'add_empty' => 'Seleccione un cultivo',
                ));

          $this->widgetSchema->moveField('establecimiento_id', 'before', 'lote_id');
          $this->widgetSchema->moveField('cultivo_id', 'before', 'variedad_id');

        $this->validatorSchema['establecimiento_id'] = new sfValidatorDoctrineChoice(array(
              'model' => 'establecimiento',
               ));
        $this->validatorSchema['cultivo_id'] = new sfValidatorDoctrineChoice(array(
              'model' => 'cultivo',
               ));
        }

//        $this->widgetSchema->setNameFormat('campana[%s]');
//
//        $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
//
//        $this->setupInheritance();
  }
}
